#pragma once

class UTreeItemData {
public:
	FString MyName;
	float MyHeight = 10;

	TArray<TSharedPtr<UTreeItemData>> Children;
};


class SMyTreeView : public STreeView<TSharedPtr<UTreeItemData>> {
	
public:
	void Construct(const FArguments& InArgs);

	TArray<TSharedPtr<UTreeItemData>> TreeItemDatas;

	TSharedRef<ITableRow> GenerateRowItem(TSharedPtr<UTreeItemData> InTreeItemData, const TSharedRef<STableViewBase>& OwnerTable);

	void GetChildrenFromItem(TSharedPtr<UTreeItemData> InTreeItem, TArray<TSharedPtr<UTreeItemData>>& OutChildren);
};